当前位置:flash课件吧→教育→教育教学栏目 | |||||||||||||||||||
题 目:制作直线方程flash课件教程 直线方程 /*
*/ import flash.filters.DropShadowFilter;//滤镜,增加点效果 var d_filters:DropShadowFilter = new DropShadowFilter(3, 45, 0x000000, 60, 5, 5); showAll(Number(x1.text), Number(y1.text), Number(x2.text), Number(y2.text));//显示点与直线 fuanzhang.gotoAndStop(2);//右边两个按钮 showInputTxt.gotoAndStop(2); _btn.onPress = function() {//输入两点坐标时提交按钮 if (x1.text != "" && y1.text != "" && x2.text != "" && y2.text != "") { showAll(Number(x1.text), Number(y1.text), Number(x2.text), Number(y2.text)); } else { //请输入完整! } }; var drag:Boolean = false; for (var i:Number = 1; i<3; i++) { this["p"+i].onPress = function() {//两个小红点拖动与否 startDrag(this); drag = true; }; this["p"+i].onRelease = this["p"+i].onReleaseOutside=function () { stopDrag(); drag = false; }; } onEnterFrame = function () { if (drag) {//拖动两点时绘制作直线与相关的提示图形 var x1:Number = Math.floor(p1._x*100)/100, y1:Number = -Math.floor(p1._y*100)/100, x2:Number = Math.floor(p2._x*100)/100, y2:Number = -Math.floor(p2._y*100)/100; showAll(x1, y1, x2, y2); } }; //绘图主函数 function showAll(_x1:Number, _y1:Number, _x2:Number, _y2:Number) { var xx1:Number = _x1; var yy1:Number = -_y1; var xx2:Number = _x2; var yy2:Number = -_y2; var xNum:Number = xx1-xx2; var yNum:Number = yy1-yy2; var s:Number = Math.atan2(yNum, xNum); line._x = p1._x=xx1; line._y = p1._y=yy1; p2._x = xx2; p2._y = yy2; x1.text = xx1; y1.text = -yy1; x2.text = xx2; y2.text = -yy2; if (xx1 != xx2 && yy1 != yy2) { var k1:Number = -Math.round(yNum/xNum*100)/100; var b1:Number = -Math.round(yy1-yNum/xNum*xx1); if (b1>0) { if (k1 == 0) {//显示直线方程式子 var str1:String = "y="+String(b1); fanzhang_mc._txt.text = str1; } else { var str1:String = "y="+String(k1)+"x+"+String(b1); fanzhang_mc._txt.text = str1; } } else if (b1 == 0) { if (k1 == 0) { var str1:String = "y="+String(b1); fanzhang_mc._txt.text = str1; } else { var str1:String = "y="+String(k1)+"x"; fanzhang_mc._txt.text = str1; } } else { if (k1 == 0) { var str1:String = "y="+String(b1); fanzhang_mc._txt.text = str1; } else { var str1:String = "y="+String(k1)+"x"+String(b1); fanzhang_mc._txt.text = str1; } } } else if (xx1 == xx2 && xx1 != 0) { fanzhang_mc._txt.text = "x="+String(xx1); } else if (yy1 == yy2 && yy1 != 0) { fanzhang_mc._txt.text = "y="+String(yy1); } else if (xx1 == 0 && xx2 == 0) { fanzhang_mc._txt.text = "x=0"; } else if (yy1 == 0 && yy2 == 0) { fanzhang_mc._txt.text = "y=0"; } fanzhang_mc._txt.autoSize = "center"; fanzhang_mc.txtBg_mc._width = fanzhang_mc._txt._width+20; line._rotation = s*180/Math.PI; drawRectView(xx1, yy1, 0);//画提示图形 drawRectView(xx2, yy2, 1); } //........画提示图形........................................................ function drawRectView(x:Number, y:Number, i:Number) { this["view"+i].removeMovieClip(); var color:Number; if (i == 0) { color = 0x0F84F9; } else { color = 0x66EE2B; } this.createEmptyMovieClip("view"+i, this.getNextHighestDepth()); with (this["view"+i]) { lineStyle(1, 0xE27125, 100); beginFill(color, 60); moveTo(0, 0); lineTo(x, 0); lineTo(x, y); lineTo(0, y); lineTo(0, 0); endFill(); } //-----------显示两红点坐标文本........................ this["t"+i].removeTextField(); this.createTextField("t"+i, this.getNextHighestDepth(), x-30, y-23, 100, 23); var y0:Number = -y; this["t"+i].text = "("+x+","+y0+")"; this["t"+i].autoSize = "left"; } var input:Boolean = true, fz:Boolean = false; mask_mc._visible = false; showInputTxt.onPress = function() { this.play();//输入文本框显示与否 if (!input) { _btn.enabled = true; mask_mc._visible = false; } else { _btn.enabled = false; mask_mc._visible = true; } input = !input; }; close_btn.onPress = function() {//关闭输入文本框 mask_mc._visible = true; input = false; showInputTxt.gotoAndStop(1); }; fanzhang_mc.filters = [d_filters]; fuanzhang.onPress = function() {//方程显示与否 this.play(); if (fz) { fanzhang_mc._visible = true; } else { } fz = !fz; };
|
|||||||||||||||||||